package error

//括号左右不匹配
func isValid(s string) bool {
	tempMap := make(map[byte]int)
	sByte := []byte(s)
	for _, letter := range sByte {
		switch letter {
		case '(', '{', '[':
			tempMap[letter]++
		default:
			switch letter {
			case ')':
				value, ok := tempMap['(']
				if ok && value > 0 {
					tempMap['(']--
				} else {
					return false
				}
			case '}':
				value, ok := tempMap['{']
				if ok && value > 0 {
					tempMap['{']--
				} else {
					return false
				}
			case ']':
				value, ok := tempMap['[']
				if ok && value > 0 {
					tempMap['[']--
				} else {
					return false
				}
			}
		}
	}
	return len(tempMap) > 0
}
